//
//  main.m
//  OC9_内存
//
//  Created by dllo on 15/11/5.
//  Copyright (c) 2015年 dllo. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Student.h"

int main(int argc, const char * argv[]) {

    
    // 引用计数注意事项:
    // 1, 自己引起的加1操作一定要自己负责减1;
    // 2, 只有见到alloc, retain, copy 等关键字才去减1;
    // 3, release是减1的意思,而非释放,当引用计数减为0时系统自动释放空间;
    // 4, autorelease是MRC下,在未来某一时机减1;
    // 5, 不要纠结NSString类型的空间的引用计数;
    // 6, collection类型(数组,字典,集合) - 当对象加入时引用计数自动加1,移除时自动减1,当collection销毁时自动将所有成员的引用计数减1.

    Student *stu = [[Student alloc] init];
    
    // 查看引用计数
    NSLog(@"%ld", stu.retainCount);
    
    [stu release];
//        NSLog(@"%ld", stu.retainCount);
    
    
    
    
    return 0;
}
